import { Module } from '@nestjs/common';
import { TypeOrmModule } from '@nestjs/typeorm';
import { PmpSysUserEntity } from '@/pmp/entity/pmp.sys.user.entity';
import { PmpSysRoleEntity } from '@/pmp/entity/pmp.sys.role.entity';
import { PmpSysSubRoleEntity } from '@/pmp/entity/pmp.sys.sub.role.entity';
import { UserController } from './controllers/user/user.controller';
import { UserService } from './services/user/user.service';
import { RoleController } from './controllers/role/role.controller';
import { RoleService } from './services/role/role.service';
import { MenuController } from './controllers/menu/menu.controller';
import { MenuService } from './services/menu/menu.service';
import { DictController } from './controllers/dict/dict.controller';
import { DictService } from './services/dict/dict.service';
import { DepartmentController } from './controllers/department/department.controller';
import { DepartmentService } from './services/department/department.service';
import { DictItmeController } from './controllers/dict-itme/dict-itme.controller';
import { DictItmeService } from './services/dict-itme/dict-itme.service';
import { ArgumentsController } from './controllers/arguments/arguments.controller';
import { ArgumentsService } from './services/arguments/arguments.service';
import { DownloadController } from '@/common/download/download/download.controller';

@Module({
  imports: [
    TypeOrmModule.forFeature([
      PmpSysUserEntity,
      PmpSysRoleEntity,
      PmpSysSubRoleEntity,
    ]),
  ],
  controllers: [
    // 用户
    UserController,
    // 角色
    RoleController,
    // 菜单
    MenuController,
    // 字典
    DictController,
    // 部门
    DepartmentController,
    // 字典内容
    DictItmeController,

    ArgumentsController,

    DownloadController,
  ],
  providers: [
    UserService,
    RoleService,
    MenuService,
    DictService,
    DepartmentService,
    DictItmeService,
    ArgumentsService,
  ],
})
export class SystemModule {}
